#include <iostream>
using namespace std;

class Adaptee 
{
public:
	void execute() 
	{
		cout << "called the adaptee" << endl;
	}
};

class Client 
{
private:
	Adaptee* adaptee;
public:
	Client(Adaptee* adaptee) 
	{
		this->adaptee = adaptee;
	}
	void submit() 
	{
		cout << "call the adaptee directly." << endl;
		this->adaptee->execute();
	}
};

int main()
{
	Client* client = new Client(new Adaptee());
	client->submit();
	return 0;
}
